package com.onec.service.api.dto.response.channel;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.onec.service.api.dto.response.BaseResponse;
import com.onec.service.api.enums.error.ChannelErrorEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 请求通道服务！通道交易信息处理！
 *
 * @author onec
 */
@Data
@EqualsAndHashCode(callSuper=false)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ChannelTradeResp extends BaseResponse {

    /**
     * 商户编号
     */
    private String channelMerchantNo;

    private String businessNo;

    /**
     * 平台流水号
     */
    private String serialNum;

    /**
     * 平台流水号
     */
    private String tradeNum;

    /**
     * 商户手续费
     */
    private String merchantRate;
    /**
     * 商户手续费
     */
    private String merchantFee;

    /**
     * 交易金额
     */
    private String amount;

    /**
     *
     */
    private String product;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 完成时间
     */
    private String completeTime;

    /**
     * 交易订单状态
     */
    private String status;
    /**
     * 交易订单状态
     */
    private String url;

    private String returnType;

    /**
     * 返回上游固定值代表成功
     */
    private String notifyMessage;

    /**
     * 是否实时代付：true 代付： false 入账
     */
    private boolean needPay;


    public static ChannelTradeResp respTradeStatus(ChannelErrorEnum channelErrorEnum) {
        return new ChannelTradeResp(channelErrorEnum);
    }

    public ChannelTradeResp() {
    }

    public ChannelTradeResp(ChannelErrorEnum channelErrorEnum) {
        this.code = channelErrorEnum.getCode();
        this.message = channelErrorEnum.getMessage();
    }

}
